//函数组合演示:给数组最一个项大写
/*
* 函数组合：如果一个函数要经过多个函数处理才能得到最终值，这个时候可以中间过程的函数合并成一个新的函数
* 函数就像是数据的管道，函数组合就是把这些管道连接起来，让数据穿过多个管道形成最终结果
*/
function compose(f, g) {
    return function(value) {
        return f(g(value))
    }
}

//细粒度函数
function reverse(array) {
    return array.reverse()
}
function first (array) {
    return array[0]
}
// 从右到左执行
const last = compose(first,reverse)

console.log(last([1,2,3,4]))



